jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

js 自定义function函数的二种方法与区别

来源:网络整理  作者:  发布时间:2020-12-20 08:48
本文介绍下,在javascript中定义函数function的两种方法,并剖析了二者之间的区别,有需要的朋友,可以看看,希望对...

window.onload = mychange; 

那么其中的show方法,为什么没有问题?
2、解释window.onload = mychange,发现调用的是onload方法,暂停,然后继续向下解释执行。

复制代码 代码示例:

3、解释var show 这段script,并加载window中的所有内容。

此时窗口显示undefined!

基于这点,我们分析javascript解释器是按前后顺序边解释边执行的。

例如:

第二种方式定义的function,会最先初始化,就类似于java中static属性。

以上代码的具体顺序是这样的:

在javascript中,定义函数function,有两种定义方式。

因此,根本不可能往下执行。

因为调用mychange方式,是在window完成加载后才执行的,所以show已经初始化了。

4、加载完成,执行mychange方法。

1、解释mychange方法。
alert(mychange);

<script language="javascript"> //定义function的方式一 var fun1 = function() { alert("fun1"); } //定义function的方式二 function fun2() { alert("fun2"); } </script>

对于以上二种方式,推荐使用第一种,这也是大家多在使用的一种方式。

<!DOCTYPE html> <html> <head> <title>event.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href=http://www.dismall.com/thread-957-1-1.html/a_10249/"./styles.css">--> <script> window.onload = mychange; //此处用第一种方式,不能执行这个function // var mychange = function() { // alert("hi"); // var ll = document.getElementsByTagName("li") // alert(ll.length); // for(var i=0,len=ll.length;i<len;i++) { // alert(ll[i].innerHTML); // ll[i].onclick = show; // } // } //用下面的方式,正常执行 function mychange() { alert("hi"); var ll = document.getElementsByTagName("li") alert(ll.length); for(var i=0,len=ll.length;i<len;i++) { alert(ll[i].innerHTML); ll[i].onclick = show; } } var show = function(event) { eventevent = event||window.event; alert(event.type); alert("hello"+this.innerHTML); } </script> </head> <body> <ul> <li>apple</li> <li>pear</li> <li>orange</li> </ul> </body> </html>

添加以下代码:

不过,看了下面的例子,你又该如何取舍呢?

相关热词: 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/6024.shtml

最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

js 自定义function函数的二种方法与区别

2020-12-20 编辑:

window.onload = mychange; 

那么其中的show方法,为什么没有问题?
2、解释window.onload = mychange,发现调用的是onload方法,暂停,然后继续向下解释执行。

复制代码 代码示例:

3、解释var show 这段script,并加载window中的所有内容。

此时窗口显示undefined!

基于这点,我们分析javascript解释器是按前后顺序边解释边执行的。

例如:

第二种方式定义的function,会最先初始化,就类似于java中static属性。

以上代码的具体顺序是这样的:

在javascript中,定义函数function,有两种定义方式。

因此,根本不可能往下执行。

因为调用mychange方式,是在window完成加载后才执行的,所以show已经初始化了。

4、加载完成,执行mychange方法。

1、解释mychange方法。
alert(mychange);

<script language="javascript"> //定义function的方式一 var fun1 = function() { alert("fun1"); } //定义function的方式二 function fun2() { alert("fun2"); } </script>

对于以上二种方式,推荐使用第一种,这也是大家多在使用的一种方式。

<!DOCTYPE html> <html> <head> <title>event.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <!--<link rel="stylesheet" type="text/css" href=http://www.dismall.com/thread-957-1-1.html/a_10249/"./styles.css">--> <script> window.onload = mychange; //此处用第一种方式,不能执行这个function // var mychange = function() { // alert("hi"); // var ll = document.getElementsByTagName("li") // alert(ll.length); // for(var i=0,len=ll.length;i<len;i++) { // alert(ll[i].innerHTML); // ll[i].onclick = show; // } // } //用下面的方式,正常执行 function mychange() { alert("hi"); var ll = document.getElementsByTagName("li") alert(ll.length); for(var i=0,len=ll.length;i<len;i++) { alert(ll[i].innerHTML); ll[i].onclick = show; } } var show = function(event) { eventevent = event||window.event; alert(event.type); alert("hello"+this.innerHTML); } </script> </head> <body> <ul> <li>apple</li> <li>pear</li> <li>orange</li> </ul> </body> </html>

添加以下代码:

不过,看了下面的例子,你又该如何取舍呢?

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/6024.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页